import { PORT_CarePlanTemplate } from "@/api/config/servicePort";
import http from "@/api";
import type { CarePlanTemplate } from "@/api/interface";

/**
 * @name 照护计划模板管理模块
 */
// 获取照护计划模板列表
export const getCarePlanTemplateList = () => {
  return http.get<CarePlanTemplate.ResCarePlanTemplate[]>(PORT_CarePlanTemplate + `/list`);
};

/**
 * 根据照护计划模板Id获取照护计划模板详情
 * @param id 照护计划模板Id
 * @returns 照护计划模板详情
 */
export const getCarePlanTemplateDetail = (id: number) => {
  return http.get<CarePlanTemplate.ResCarePlanTemplate>(PORT_CarePlanTemplate + `/detail/${id}`);
};

/**
 * 保存照护计划模板
 * @param data 照护计划模板创建数据
 * @returns 照护计划模板详情
 */
export const saveCarePlanTemplate = (data: CarePlanTemplate.ReqSaveCarePlanTemplateParams) => {
  return http.post<number>(PORT_CarePlanTemplate + `/save`, data);
};

/**
 * 删除照护计划模板
 * @param id 照护计划模板Id
 * @returns 是否删除成功
 */
export const deleteCarePlanTemplate = (id: number) => {
  return http.post<boolean>(PORT_CarePlanTemplate + `/delete?id=${id}`);
};

/**
 * 复制照护计划模板
 * @param id 照护计划模板Id
 * @returns 照护计划模板详情
 */
export const copyCarePlanTemplate = (input: CarePlanTemplate.ReqCopyCarePlanTemplateParams) => {
  return http.post<number>(PORT_CarePlanTemplate + `/copy`, input);
};
